//#include<iostream>
//using namespace std;
//int main()
//{
//	cout << "Hello World!" << endl;
//	return 0;
//}

//#include<stdio.h>
//int x = 0;
//int main()
//{
//	int x = 1;
//	printf("%d\n", x);
//	printf("%d\n", ::x);
//	return 0;
//}
//#include<iostream>
//using std::cout;
//using std::endl;
//namespace bit
//{
//	namespace zs
//	{
//		void push()
//		{
//			cout << "zs" << endl;
//		}
//	}
//	namespace ls
//	{
//		void push()
//		{
//			cout << "ls" << endl;
//		}
//	}
//}
//int main()
//{
//	int i = 0;
//	std::cin >> i;
//	cout << "xxxx" << endl;
//	cout << "xxxx" << endl;
//	cout << "xxxx" << endl;
//	cout << "xxxx" << endl;
//	bit::ls::push();
//	bit::zs::push();
//	return 0;
//}
//#include<iostream>
//using namespace std;
//void Func(int a = 10, int b = 20, int c = 30)
//{
//	cout << "a=" << a << endl;
//	cout << "b=" << b << endl;
//	cout << "c=" << c << endl << endl;
//}
//int main()
//{
//	Func(1, 2, 3);
//	Func(1, 2);
//	Func(1);
//	Func();
//	return 0;
//}
//#include<iostream>
//using namespace std;
//int main()
//{
//	int a = 0;
//	int& b = a;
//	cout << &a << endl;
//	cout << &b << endl;
//	b++;
//	a++;
//
//	cout << a << endl;
//	cout << b << endl;
//	int& c = a;
//	int& d = c;
//	d++;
//	cout << a << endl;
//	cout << b << endl;
//	cout << c << endl;
//	cout << d << endl;
//	return 0;
//}
#include<iostream>
#include<assert.h>
using namespace std;
struct SeqList
{
	int* a;
	int size;
	int capacity;
};
//初识化
void SLInit(SeqList& sl)
{
	sl.a = (int*)malloc(sizeof(int) * 4);
	sl.size = 0;
	sl.capacity = 4;
}
//插入
void SLPushBack(SeqList& sl, int x)
{
	//...扩容
	sl.a[sl.size++] = x;
}
//修改
void SLModity(SeqList& sl, int pos, int x)
{
	assert(pos >= 0);
	assert(pos < sl.size);
	sl.a[pos] = x;
}
//获取
int SLGet(SeqList& sl, int pos)
{
	assert(pos >= 0);
	assert(pos < sl.size);
	return sl.a[pos];
}
int main()
{
	SeqList s;
	SLInit(s);
	SLPushBack(s, 1);
	SLPushBack(s, 2);
	SLPushBack(s, 3);
	SLPushBack(s, 4);
	SLPushBack(s, 5);
	for (int i = 0; i < s.size; i++)
	{
		cout << SLGet(s, i)<<" ";
	}
	cout << endl;
	
	for (int i = 0; i < s.size; i++)
	{
		if (SLGet(s, i) % 2 == 0)
		{
			SLModity(s, i, SLGet(s, i) * 2);
		}
	}
	cout << endl;

	for (int i = 0; i < s.size; i++)
	{
		cout << SLGet(s, i) << " ";
	}
	cout << endl;

	return 0;
}